package com.ruoyi.system.domain.ERP;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;
import java.util.List;

/**
 * @description: erp生产订单实体类
 * @author: zhengxiong.jiang
 * @createDate: 2023/3/28
 * @version: 1.0
 */
@Data
public class ProdPlanErpDTO {

    @ApiModelProperty(value = "生产订单单号的ID")
    private String mainOrderId;

    @ApiModelProperty(value = "部门名称")
    private String deptName;

    @ApiModelProperty(value = "部门编码")
    private String deptCode;

    @ApiModelProperty(value = "生产订单号")
    private String orderNumber;

    @ApiModelProperty(value = "华为任务令")
    private String taskTon;

    @ApiModelProperty(value = "生产订单每行主键id")
    private String orderId;

    @ApiModelProperty(value = "类型 HW01正常HW02返修")
    private String type;

    @ApiModelProperty(value = "物料编码")
    private String materialCode;

    @ApiModelProperty(value = "物料名称")
    private String materialName;

    @ApiModelProperty(value = "物料规格")
    private String materialNorms;

    @ApiModelProperty(value = "物料计量单位")
    private String unit;

    @ApiModelProperty(value = "开工日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date startTime;

    @ApiModelProperty(value = "完工日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    private Date endTime;

    @ApiModelProperty(value = "生产数量")
    private Double orderNum;

    /** 创建日期 */
    @ApiModelProperty(value = "创建日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createdDate;

    /** 创建人 */
    @ApiModelProperty(value = "创建人")
    private String createdBy;

    /** 修改日期 */
    @ApiModelProperty(value = "修改日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date lastUpdatedDate;

    /** 修改人 */
    @ApiModelProperty(value = "修改人")
    private String lastUpdatedBy;

    @ApiModelProperty(value = "传输时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date transferDate;

    @ApiModelProperty(value = "状态  开立：2, 审核：3，关闭：4")
    private Integer status;//等erp给类型状态代表数字

//    @ApiModelProperty(value = "硬件版本")
//    private String hardwareVersion;
//
//    @ApiModelProperty(value = "软件版本")
//    private String softwareVersion;

    @ApiModelProperty(value = "物料Bom详情清单")
    private List<BomInfoErpDTO> bomInfos;

    @ApiModelProperty(value = "备注（填写华为的临技号）")
    private String remarks;

    //新增

    //订单工序
    @ApiModelProperty(value = "订单工序")
    private List<ProdPlanOrderProcessErpDTO> prodPlanOrderProcess;

    //单据修改日期
    @ApiModelProperty(value = "单据修改日期")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date documentDate;

    //生产版本
    @ApiModelProperty(value = "生产版本")
    private String productionVersion;

    //工厂
    @ApiModelProperty(value = "工厂")
    private String factory;

    //传输唯一码
    @ApiModelProperty(value = "传输唯一码")
    private String sapId;

}
